/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.date.DateUtil
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.DatePicker
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.VBox
 *  javafx.util.Callback
 *  javafx.util.StringConverter
 *  org.springframework.beans.factory.annotation.Autowired
 */
package com.gys.controller.inventoryInquiry;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.common.business.InventoryInquiryUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.enums.ProForm;
import com.gys.common.util.CommonUtil;
import com.gys.common.util.ExcelUtil;
import com.gys.controller.BaseController;
import com.gys.controller.index.IndexController;
import com.gys.data.inventoryInquiry.InventoryInquiryInData;
import com.gys.data.inventoryInquiry.InventoryInquiryOutData;
import de.felixroske.jfxsupport.FXMLController;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.VBox;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.springframework.beans.factory.annotation.Autowired;

@FXMLController
public class InventoryInquiryController
extends BaseController
implements Initializable {
    private ObservableList<InventoryInquiryOutData> observableTableList = FXCollections.observableArrayList(new ArrayList());
    @FXML
    private TableColumn<InventoryInquiryOutData, String> factory;
    @FXML
    private VBox vBox;
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private DatePicker assignDate;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> gssmBatchNo;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> origin;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> dosageForm;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> format;
    @FXML
    private TableView<InventoryInquiryOutData> tableView;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> index;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> gssmProName;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> unit;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> qty;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> validUntil;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> gssmProId;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> approvalNum;
    @FXML
    private TextField proId;
    @FXML
    private TextField proName;
    @FXML
    private TableColumn<InventoryInquiryOutData, String> retailPrice;
    @Autowired
    private IndexController indexController;
    private final String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(new Date());

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.vBox.setPrefHeight(this.getContentHeight());
        this.tableView.setPrefWidth(this.getContentWidth());
        LocalDate localDate = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        this.assignDate.setValue(localDate);
        StringConverter converter = CommonUtil.dataPickerFormat("yyyyMMdd");
        this.assignDate.setConverter(converter);
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.scrollPane)) {
            return;
        }
        this.indexController.scrollContentPane.setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

            public void handle(KeyEvent e) {
                if (e.getCode() == KeyCode.ENTER) {
                    InventoryInquiryController.this.queryAction();
                }
                e.consume();
            }
        });
        this.bingTableCell();
        this.initTable();
    }

    @FXML
    void queryAction() {
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        if (ObjectUtil.isEmpty(this.assignDate.getValue())) {
            alert.setContentText("\u8bf7\u586b\u5199\u6307\u5b9a\u65e5\u671f");
            alert.showAndWait();
            return;
        }
        this.initTable();
    }

    public TableView<InventoryInquiryOutData> initTable() {
        InventoryInquiryInData inData = new InventoryInquiryInData();
        if (ObjectUtil.isNotEmpty(this.proId.getText())) {
            inData.setGssmProId(this.proId.getText());
        }
        if (ObjectUtil.isNotEmpty(this.proName.getText())) {
            inData.setGssmProName(this.proName.getText());
        }
        if (ObjectUtil.isNotNull(this.assignDate.getValue())) {
            inData.setSpecifiedDate(DateUtil.format((Date)DateUtil.parse((String)((LocalDate)this.assignDate.getValue()).toString()), (String)"yyyyMMdd"));
        }
        List<InventoryInquiryOutData> dataList = null;
        HttpJson rsp = InventoryInquiryUtil.getInventoryInquiryList(inData);
        if (rsp.isSuccess()) {
            dataList = JSON.parseArray((String)rsp.getMsg(), InventoryInquiryOutData.class);
            for (InventoryInquiryOutData data : dataList) {
                data.setDosageForm(ProForm.getName(data.getDosageForm()));
            }
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
            return new TableView();
        }
        this.observableTableList.clear();
        this.observableTableList = FXCollections.observableArrayList((Collection)dataList);
        this.tableView.setItems(this.observableTableList);
        return this.tableView;
    }

    private void bingTableCell() {
        this.index.setCellValueFactory((Callback)new PropertyValueFactory(this.index.getId()));
        this.gssmProId.setCellValueFactory((Callback)new PropertyValueFactory("gssmProId"));
        this.gssmProName.setCellValueFactory((Callback)new PropertyValueFactory("gssmProName"));
        this.retailPrice.setCellValueFactory((Callback)new PropertyValueFactory("retailPrice"));
        this.gssmBatchNo.setCellValueFactory((Callback)new PropertyValueFactory("gssmBatchNo"));
        this.validUntil.setCellValueFactory((Callback)new PropertyValueFactory("validUntil"));
        this.qty.setCellValueFactory((Callback)new PropertyValueFactory("qty"));
        this.factory.setCellValueFactory((Callback)new PropertyValueFactory("factory"));
        this.origin.setCellValueFactory((Callback)new PropertyValueFactory("origin"));
        this.dosageForm.setCellValueFactory((Callback)new PropertyValueFactory("dosageForm"));
        this.unit.setCellValueFactory((Callback)new PropertyValueFactory("unit"));
        this.format.setCellValueFactory((Callback)new PropertyValueFactory("format"));
        this.approvalNum.setCellValueFactory((Callback)new PropertyValueFactory("approvalNum"));
    }

    @FXML
    void printAction() {
        List<String> columnName = Arrays.asList("\u5e8f\u53f7", "\u5546\u54c1\u7f16\u7801", "\u5546\u54c1\u540d\u79f0", "\u96f6\u552e\u4ef7", "\u6279\u53f7", "\u6709\u6548\u671f\u81f3", "\u5e93\u5b58\u6570\u91cf", "\u5382\u5bb6", "\u4ea7\u5730", "\u5242\u578b", "\u5355\u4f4d", "\u89c4\u683c", "\u6279\u51c6\u6587\u53f7");
        List<String> columnId = Arrays.asList("index", "gssmProId", "gssmProName", "retailPrice", "gssmBatchNo", "validUntil", "qty", "factory", "origin", "dosageForm", "unit", "format", "approvalNum");
        boolean result = ExcelUtil.export("\u5546\u54c1\u5e93\u5b58", this.observableTableList, columnName, columnId);
        if (result) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5bfc\u51fa\u6210\u529f");
            alert.showAndWait();
        }
    }

    @FXML
    private void reset() {
        this.proId.clear();
        this.proName.clear();
        LocalDate localDate = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        this.assignDate.setValue(localDate);
    }

    public ObservableList<InventoryInquiryOutData> getObservableTableList() {
        return this.observableTableList;
    }

    public TableColumn<InventoryInquiryOutData, String> getFactory() {
        return this.factory;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public DatePicker getAssignDate() {
        return this.assignDate;
    }

    public TableColumn<InventoryInquiryOutData, String> getGssmBatchNo() {
        return this.gssmBatchNo;
    }

    public TableColumn<InventoryInquiryOutData, String> getOrigin() {
        return this.origin;
    }

    public TableColumn<InventoryInquiryOutData, String> getDosageForm() {
        return this.dosageForm;
    }

    public TableColumn<InventoryInquiryOutData, String> getFormat() {
        return this.format;
    }

    public TableView<InventoryInquiryOutData> getTableView() {
        return this.tableView;
    }

    public TableColumn<InventoryInquiryOutData, String> getIndex() {
        return this.index;
    }

    public TableColumn<InventoryInquiryOutData, String> getGssmProName() {
        return this.gssmProName;
    }

    public TableColumn<InventoryInquiryOutData, String> getUnit() {
        return this.unit;
    }

    public TableColumn<InventoryInquiryOutData, String> getQty() {
        return this.qty;
    }

    public TableColumn<InventoryInquiryOutData, String> getValidUntil() {
        return this.validUntil;
    }

    public TableColumn<InventoryInquiryOutData, String> getGssmProId() {
        return this.gssmProId;
    }

    public TableColumn<InventoryInquiryOutData, String> getApprovalNum() {
        return this.approvalNum;
    }

    public TextField getProId() {
        return this.proId;
    }

    public TextField getProName() {
        return this.proName;
    }

    public TableColumn<InventoryInquiryOutData, String> getRetailPrice() {
        return this.retailPrice;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public String getDateStr() {
        return this.dateStr;
    }

    public void setObservableTableList(ObservableList<InventoryInquiryOutData> observableTableList) {
        this.observableTableList = observableTableList;
    }

    public void setFactory(TableColumn<InventoryInquiryOutData, String> factory) {
        this.factory = factory;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setAssignDate(DatePicker assignDate) {
        this.assignDate = assignDate;
    }

    public void setGssmBatchNo(TableColumn<InventoryInquiryOutData, String> gssmBatchNo) {
        this.gssmBatchNo = gssmBatchNo;
    }

    public void setOrigin(TableColumn<InventoryInquiryOutData, String> origin) {
        this.origin = origin;
    }

    public void setDosageForm(TableColumn<InventoryInquiryOutData, String> dosageForm) {
        this.dosageForm = dosageForm;
    }

    public void setFormat(TableColumn<InventoryInquiryOutData, String> format) {
        this.format = format;
    }

    public void setTableView(TableView<InventoryInquiryOutData> tableView) {
        this.tableView = tableView;
    }

    public void setIndex(TableColumn<InventoryInquiryOutData, String> index) {
        this.index = index;
    }

    public void setGssmProName(TableColumn<InventoryInquiryOutData, String> gssmProName) {
        this.gssmProName = gssmProName;
    }

    public void setUnit(TableColumn<InventoryInquiryOutData, String> unit) {
        this.unit = unit;
    }

    public void setQty(TableColumn<InventoryInquiryOutData, String> qty) {
        this.qty = qty;
    }

    public void setValidUntil(TableColumn<InventoryInquiryOutData, String> validUntil) {
        this.validUntil = validUntil;
    }

    public void setGssmProId(TableColumn<InventoryInquiryOutData, String> gssmProId) {
        this.gssmProId = gssmProId;
    }

    public void setApprovalNum(TableColumn<InventoryInquiryOutData, String> approvalNum) {
        this.approvalNum = approvalNum;
    }

    public void setProId(TextField proId) {
        this.proId = proId;
    }

    public void setProName(TextField proName) {
        this.proName = proName;
    }

    public void setRetailPrice(TableColumn<InventoryInquiryOutData, String> retailPrice) {
        this.retailPrice = retailPrice;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof InventoryInquiryController)) {
            return false;
        }
        InventoryInquiryController other = (InventoryInquiryController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        ObservableList<InventoryInquiryOutData> this$observableTableList = this.getObservableTableList();
        ObservableList<InventoryInquiryOutData> other$observableTableList = other.getObservableTableList();
        if (this$observableTableList == null ? other$observableTableList != null : !this$observableTableList.equals(other$observableTableList)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$factory = this.getFactory();
        TableColumn<InventoryInquiryOutData, String> other$factory = other.getFactory();
        if (this$factory == null ? other$factory != null : !this$factory.equals(other$factory)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        if (this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        DatePicker this$assignDate = this.getAssignDate();
        DatePicker other$assignDate = other.getAssignDate();
        if (this$assignDate == null ? other$assignDate != null : !this$assignDate.equals(other$assignDate)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$gssmBatchNo = this.getGssmBatchNo();
        TableColumn<InventoryInquiryOutData, String> other$gssmBatchNo = other.getGssmBatchNo();
        if (this$gssmBatchNo == null ? other$gssmBatchNo != null : !this$gssmBatchNo.equals(other$gssmBatchNo)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$origin = this.getOrigin();
        TableColumn<InventoryInquiryOutData, String> other$origin = other.getOrigin();
        if (this$origin == null ? other$origin != null : !this$origin.equals(other$origin)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$dosageForm = this.getDosageForm();
        TableColumn<InventoryInquiryOutData, String> other$dosageForm = other.getDosageForm();
        if (this$dosageForm == null ? other$dosageForm != null : !this$dosageForm.equals(other$dosageForm)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$format = this.getFormat();
        TableColumn<InventoryInquiryOutData, String> other$format = other.getFormat();
        if (this$format == null ? other$format != null : !this$format.equals(other$format)) {
            return false;
        }
        TableView<InventoryInquiryOutData> this$tableView = this.getTableView();
        TableView<InventoryInquiryOutData> other$tableView = other.getTableView();
        if (this$tableView == null ? other$tableView != null : !this$tableView.equals(other$tableView)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$index = this.getIndex();
        TableColumn<InventoryInquiryOutData, String> other$index = other.getIndex();
        if (this$index == null ? other$index != null : !this$index.equals(other$index)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$gssmProName = this.getGssmProName();
        TableColumn<InventoryInquiryOutData, String> other$gssmProName = other.getGssmProName();
        if (this$gssmProName == null ? other$gssmProName != null : !this$gssmProName.equals(other$gssmProName)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$unit = this.getUnit();
        TableColumn<InventoryInquiryOutData, String> other$unit = other.getUnit();
        if (this$unit == null ? other$unit != null : !this$unit.equals(other$unit)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$qty = this.getQty();
        TableColumn<InventoryInquiryOutData, String> other$qty = other.getQty();
        if (this$qty == null ? other$qty != null : !this$qty.equals(other$qty)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$validUntil = this.getValidUntil();
        TableColumn<InventoryInquiryOutData, String> other$validUntil = other.getValidUntil();
        if (this$validUntil == null ? other$validUntil != null : !this$validUntil.equals(other$validUntil)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$gssmProId = this.getGssmProId();
        TableColumn<InventoryInquiryOutData, String> other$gssmProId = other.getGssmProId();
        if (this$gssmProId == null ? other$gssmProId != null : !this$gssmProId.equals(other$gssmProId)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$approvalNum = this.getApprovalNum();
        TableColumn<InventoryInquiryOutData, String> other$approvalNum = other.getApprovalNum();
        if (this$approvalNum == null ? other$approvalNum != null : !this$approvalNum.equals(other$approvalNum)) {
            return false;
        }
        TextField this$proId = this.getProId();
        TextField other$proId = other.getProId();
        if (this$proId == null ? other$proId != null : !this$proId.equals(other$proId)) {
            return false;
        }
        TextField this$proName = this.getProName();
        TextField other$proName = other.getProName();
        if (this$proName == null ? other$proName != null : !this$proName.equals(other$proName)) {
            return false;
        }
        TableColumn<InventoryInquiryOutData, String> this$retailPrice = this.getRetailPrice();
        TableColumn<InventoryInquiryOutData, String> other$retailPrice = other.getRetailPrice();
        if (this$retailPrice == null ? other$retailPrice != null : !this$retailPrice.equals(other$retailPrice)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        String this$dateStr = this.getDateStr();
        String other$dateStr = other.getDateStr();
        return !(this$dateStr == null ? other$dateStr != null : !this$dateStr.equals(other$dateStr));
    }

    protected boolean canEqual(Object other) {
        return other instanceof InventoryInquiryController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        ObservableList<InventoryInquiryOutData> $observableTableList = this.getObservableTableList();
        result = result * 59 + ($observableTableList == null ? 43 : $observableTableList.hashCode());
        TableColumn<InventoryInquiryOutData, String> $factory = this.getFactory();
        result = result * 59 + ($factory == null ? 43 : $factory.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        DatePicker $assignDate = this.getAssignDate();
        result = result * 59 + ($assignDate == null ? 43 : $assignDate.hashCode());
        TableColumn<InventoryInquiryOutData, String> $gssmBatchNo = this.getGssmBatchNo();
        result = result * 59 + ($gssmBatchNo == null ? 43 : $gssmBatchNo.hashCode());
        TableColumn<InventoryInquiryOutData, String> $origin = this.getOrigin();
        result = result * 59 + ($origin == null ? 43 : $origin.hashCode());
        TableColumn<InventoryInquiryOutData, String> $dosageForm = this.getDosageForm();
        result = result * 59 + ($dosageForm == null ? 43 : $dosageForm.hashCode());
        TableColumn<InventoryInquiryOutData, String> $format = this.getFormat();
        result = result * 59 + ($format == null ? 43 : $format.hashCode());
        TableView<InventoryInquiryOutData> $tableView = this.getTableView();
        result = result * 59 + ($tableView == null ? 43 : $tableView.hashCode());
        TableColumn<InventoryInquiryOutData, String> $index = this.getIndex();
        result = result * 59 + ($index == null ? 43 : $index.hashCode());
        TableColumn<InventoryInquiryOutData, String> $gssmProName = this.getGssmProName();
        result = result * 59 + ($gssmProName == null ? 43 : $gssmProName.hashCode());
        TableColumn<InventoryInquiryOutData, String> $unit = this.getUnit();
        result = result * 59 + ($unit == null ? 43 : $unit.hashCode());
        TableColumn<InventoryInquiryOutData, String> $qty = this.getQty();
        result = result * 59 + ($qty == null ? 43 : $qty.hashCode());
        TableColumn<InventoryInquiryOutData, String> $validUntil = this.getValidUntil();
        result = result * 59 + ($validUntil == null ? 43 : $validUntil.hashCode());
        TableColumn<InventoryInquiryOutData, String> $gssmProId = this.getGssmProId();
        result = result * 59 + ($gssmProId == null ? 43 : $gssmProId.hashCode());
        TableColumn<InventoryInquiryOutData, String> $approvalNum = this.getApprovalNum();
        result = result * 59 + ($approvalNum == null ? 43 : $approvalNum.hashCode());
        TextField $proId = this.getProId();
        result = result * 59 + ($proId == null ? 43 : $proId.hashCode());
        TextField $proName = this.getProName();
        result = result * 59 + ($proName == null ? 43 : $proName.hashCode());
        TableColumn<InventoryInquiryOutData, String> $retailPrice = this.getRetailPrice();
        result = result * 59 + ($retailPrice == null ? 43 : $retailPrice.hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        String $dateStr = this.getDateStr();
        result = result * 59 + ($dateStr == null ? 43 : $dateStr.hashCode());
        return result;
    }

    public String toString() {
        return "InventoryInquiryController(observableTableList=" + this.getObservableTableList() + ", factory=" + this.getFactory() + ", vBox=" + this.getVBox() + ", scrollPane=" + this.getScrollPane() + ", assignDate=" + this.getAssignDate() + ", gssmBatchNo=" + this.getGssmBatchNo() + ", origin=" + this.getOrigin() + ", dosageForm=" + this.getDosageForm() + ", format=" + this.getFormat() + ", tableView=" + this.getTableView() + ", index=" + this.getIndex() + ", gssmProName=" + this.getGssmProName() + ", unit=" + this.getUnit() + ", qty=" + this.getQty() + ", validUntil=" + this.getValidUntil() + ", gssmProId=" + this.getGssmProId() + ", approvalNum=" + this.getApprovalNum() + ", proId=" + this.getProId() + ", proName=" + this.getProName() + ", retailPrice=" + this.getRetailPrice() + ", indexController=" + this.getIndexController() + ", dateStr=" + this.getDateStr() + ")";
    }
}

